#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <dirent.h>
#include <regex.h>

#include <errno.h>
#include <vector>
#include <string.h>
#include <exception>
#include <ctype.h>


#include "Pkg.h"
#include "List.h"

using namespace std;


class SlackList : public List {

  public:
  SlackList();
  ~SlackList();

  Pkg GetAPkg();
  StatObj status;
  bool isInstalled(string str);

  private:
  std::fstream fs;
  vector<string> pkglist;
  int index;
  int filesn;

  string packpath;

  void FillFields(string f, string c, Pkg *pk);

  //string cleandescr(const std::string &s); xke se la scommento non fa? eppure e' uguale al .cpp
  vector<string> standardize(string f, string c);
  

  vector <string> LsDir (string dir);

};
